using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class Player : MonoBehaviour
{
    // 表示玩家的生命值
    public int health;
    // 表示玩家的物品列表
    public List<ItemList> items = new List<ItemList>();
    // 表示玩家的攻击力  
    public int attackDamage;

    void Start()
    {
        // HealingItem item = new HealingItem();
        // items.Add(new ItemList(item, item.GiveName(), 1));

        // FireDamageItem item = new FireDamageItem();
        // items.Add(new ItemList(item, item.GiveName(), 2));

        StartCoroutine(CallItemUpdate());
    }

    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            CallItemOnJump();
        }
    }

    IEnumerator CallItemUpdate()
    {
        // 遍历物品列表中的每个物品
        foreach (ItemList i in items)
        {
            // 调用物品的 Update 方法，传入当前玩家对象和物品的叠加数量
            i.item.Update(this, i.stacks);
        }
        //暂停1秒继续执行
        yield return new WaitForSeconds(1);
        // 重新启动协程 CallItemUpdate
        StartCoroutine(CallItemUpdate());
    }

    public void CallItemOnHit(Enemy enemy)
    {
        foreach (ItemList i in items)
        {
            i.item.OnHit(this, enemy, i.stacks);
        }
    }

    public void CallItemOnJump()
    {
        foreach (ItemList i in items)
        {
            i.item.OnJump(this, i.stacks);
        }
    }
}
